home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slaev2.z / slaev2
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAAEEEEVVVV2222((((3333FFFF))))                                                          SSSSLLLLAAAAEEEEVVVV2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLAEV2 - compute the eigendecomposition of a 2-by-2 symmetric matrix  [ A
  10.      B ]  [ B C ]
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SLAEV2( A, B, C, RT1, RT2, CS1, SN1 )
  14.  
  15.          REAL           A, B, C, CS1, RT1, RT2, SN1
  16.  
  17. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  18.      SLAEV2 computes the eigendecomposition of a 2-by-2 symmetric matrix
  19.         [  A   B  ]
  20.         [  B   C  ].  On return, RT1 is the eigenvalue of larger absolute
  21.      value, RT2 is the eigenvalue of smaller absolute value, and (CS1,SN1) is
  22.      the unit right eigenvector for RT1, giving the decomposition
  23.  
  24.         [ CS1  SN1 ] [  A   B  ] [ CS1 -SN1 ]  =  [ RT1  0  ]
  25.         [-SN1  CS1 ] [  B   C  ] [ SN1  CS1 ]     [  0  RT2 ].
  26.  
  27.  
  28. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  29.      A       (input) REAL
  30.              The (1,1) element of the 2-by-2 matrix.
  31.  
  32.      B       (input) REAL
  33.              The (1,2) element and the conjugate of the (2,1) element of the
  34.              2-by-2 matrix.
  35.  
  36.      C       (input) REAL
  37.              The (2,2) element of the 2-by-2 matrix.
  38.  
  39.      RT1     (output) REAL
  40.              The eigenvalue of larger absolute value.
  41.  
  42.      RT2     (output) REAL
  43.              The eigenvalue of smaller absolute value.
  44.  
  45.      CS1     (output) REAL
  46.              SN1     (output) REAL The vector (CS1, SN1) is a unit right
  47.              eigenvector for RT1.
  48.  
  49. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  50.      RT1 is accurate to a few ulps barring over/underflow.
  51.  
  52.      RT2 may be inaccurate if there is massive cancellation in the determinant
  53.      A*C-B*B; higher precision or correctly rounded or correctly truncated
  54.      arithmetic would be needed to compute RT2 accurately in all cases.
  55.  
  56.      CS1 and SN1 are accurate to a few ulps barring over/underflow.
  57.  
  58.      Overflow is possible only if RT1 is within a factor of 5 of overflow.
  59.      Underflow is harmless if the input data is 0 or exceeds
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAAEEEEVVVV2222((((3333FFFF))))                                                          SSSSLLLLAAAAEEEEVVVV2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         underflow_threshold / macheps.
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.